<?php
namespace LPCISII\PHP2012Bundle\DataFixtures\ORM;

use Doctrine\Common\DataFixtures\AbstractFixture;
use Doctrine\Common\DataFixtures\OrderedFixtureInterface;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use LPCISII\PHP2012Bundle\Entity\Articles;

use Doctrine\Common\Persistence\ObjectManager;

class ArticlesFixtures extends AbstractFixture implements OrderedFixtureInterface {

    public function load(ObjectManager $manager) {
        $informatique = $this->getReference('Informatique');
        $musique = $this->getReference('Musique');
        $livres = $this->getReference('Livres');
        $vehicule = $this->getReference('Véhicule');
        
        $article = new Articles();
        $article->setDelais(3);
        $article->setDescriptif('Vélo à deux roues. Il faut pédaler pour avancer.');
        $article->setNom('Super vélo Syraptor');
        $article->setPoids(35);
        $article->setCategorie($manager->merge($vehicule));
        $article->setPrix(570);
        
        $manager->persist($article);
        
        $article2 = new Articles();
        $article2->setDelais(3);
        $article2->setDescriptif('Un bolide qui vous fera tailler la route plus vite que le vent !');
        $article2->setNom('Fiat Panda');
        $article2->setPoids(1000);
        $article2->setCategorie($manager->merge($vehicule));
        $article2->setPrix(14000);
        
        $manager->persist($article2);
        
        $article3 = new Articles();
        $article3->setDelais(3);
        $article3->setDescriptif('Une trotinette bon marché.');
        $article3->setNom('Trotinette Dimpo');
        $article3->setPoids(35);
        $article3->setCategorie($manager->merge($vehicule));
        $article3->setPrix(29);
        
        $manager->persist($article3);
        
        $article4 = new Articles();
        $article4->setDelais(3);
        $article4->setDescriptif('C\'est beau.');
        $article4->setNom('Macbook Pro 13"');
        $article4->setPoids(35);
        $article4->setCategorie($manager->merge($informatique));
        $article4->setPrix(1199);
        
        $manager->persist($article4);
        
        $article5 = new Articles();
        $article5->setDelais(3);
        $article5->setDescriptif('Un super périphérique rétro qui impressionnera vos amis !');
        $article5->setNom('Disquette 1Mo');
        $article5->setPoids(1000);
        $article5->setCategorie($manager->merge($informatique));
        $article5->setPrix(1);
        
        $manager->persist($article5);
        
        $article6 = new Articles();
        $article6->setDelais(3);
        $article6->setDescriptif('Une clé USB standard');
        $article6->setNom('Clé USB 8Go');
        $article6->setPoids(0.1);
        $article6->setCategorie($manager->merge($informatique));
        $article6->setPrix(9);
        
        $manager->persist($article6);
        
        $article7 = new Articles();
        $article7->setDelais(3);
        $article7->setDescriptif('Une guitare pas très mouillée !');
        $article7->setNom('Guitare sèche');
        $article7->setPoids(1);
        $article7->setCategorie($manager->merge($musique));
        $article7->setPrix(289.99);
        
        $manager->persist($article7);
        
        $article8 = new Articles();
        $article8->setDelais(3);
        $article8->setDescriptif('Un truc qui sert qu\'au collège, pour vous faire ch**r.');
        $article8->setNom('Flûte Maped');
        $article8->setPoids(0.2);
        $article8->setCategorie($manager->merge($musique));
        $article8->setPrix(4.99);
        $manager->persist($article8);
        
        $article9 = new Articles();
        $article9->setDelais(3);
        $article9->setDescriptif('C\'t\'album quoi ! °o°');
        $article9->setNom('Korn - Path of totality');
        $article9->setPoids(0.3);
        $article9->setCategorie($manager->merge($musique));
        $article9->setPrix(13.75);
        $manager->persist($article9);
        
        $article10 = new Articles();
        $article10->setDelais(3);
        $article10->setDescriptif('Un chef-d\'œuvre.');
        $article10->setNom('Jojo\'s Bizarre Adventure - Golden Wind - T1');
        $article10->setPoids(0.1);
        $article10->setCategorie($manager->merge($livres));
        $article10->setPrix(6.99);
        
        $manager->persist($article10);
        
        $article11 = new Articles();
        $article11->setDelais(3);
        $article11->setDescriptif('Un très bon livre pour se plonger dans l\'univers du langage Ruby');
        $article11->setNom('The Well-Grounded Rubyist');
        $article11->setPoids(0.9);
        $article11->setCategorie($manager->merge($livres));
        $article11->setPrix(44.35);
        
        $manager->persist($article11);
        
        $article12 = new Articles();
        $article12->setDelais(3);
        $article12->setDescriptif('Pour tout savoir sur vos bourrins préférés. <3');
        $article12->setNom('Warhammer - Guerrier du Chaos - Livre d\'armées');
        $article12->setPoids(0.2);
        $article12->setCategorie($manager->merge($livres));
        $article12->setPrix(26);
        
        $manager->persist($article12);
        
        $manager->flush();
        
        $this->addReference('vélo', $article);
        $this->addReference('panda', $article2);
        $this->addReference('trotinette', $article3);
        $this->addReference('macbook', $article4);
        $this->addReference('disquette', $article5);
        $this->addReference('cle', $article6);
        $this->addReference('guitare', $article7);
        $this->addReference('flute', $article8);
        $this->addReference('korn', $article9);
        $this->addReference('jojo', $article10);
        $this->addReference('ruby', $article11);
        $this->addReference('warhammer', $article12);
    }
    
    public function getOrder() {
        return 3;
    }
}